<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <ul class="list">
      <li>li 1</li>
      <li>li 2</li>
      <li>li 3</li>
      <li>li 4</li>
      <li>li 5</li>
    </ul>
    <script>
      //let 关键字，用于声明变量，类似与var
      //    var a = 123 ;
      //    let b = 456;
      //    console.log(a,b);

      // let 跟 var的区别

      // 1.let不能重复声明
      // var b = 1 ;
      // var c = 2 ;

      // let a = 1 ;
      // let a = 2;

      // 2.let声明不会添加到window对象中
    //   var a = -1;
    //   let b = 2;
    //   console.log(window.a);
    //   console.log(window.b);

    // 3.let声明的变量不会变量提升
    // console.log(c);
    // var c = 1 ;
    // console.log(a);
    // let a = 1 ;

    //4.let声明的声明会形成一个块级作用域{代码块}
    
    //var 声明的变量表示在全局声明了这个变量所以能被访问到
    // {
    //     var a5 = 55;
    // }

    // console.log(a5);

    // if(true){
    //     var a6 =66;
    // }
    // console.log(a6);

    // {
    //     let b1 = 2;
    // }
    // console.log(b1);/报错

    // if(true){
    //     let b2 = 3 ; 
    // }
    // console.log(b2);//报错

    //5.let在一个作用域声明的时候会形成一个暂时性的死区
    let c = 33 ; 
    if(true){
        console.log(c);
        let c = 33;
    }
    </script>
  </body>
</html>
